// 获取部门列表
import request from '@/utils/request'
const departmentsListAPI = () => {
  return request({
    url: '/company/department'
  })
}
/**
 * 组织架构 - 部门负责人列表数据
 * @returns
 */
const getEmployeeSimpleAPI = () => {
  return request({
    url: '/sys/user/simple'
  })
}
// 新增部门
/**
 * 组织架构 - 新增子部门
 * @description: 新增子部门
 * @param {object} data 发送参数： name, code, manager, introduce, pid
 * @param {object} data 发送参数： 部门名称, 部门编码, 部门管理者, 部门介绍, 新增的这个子部门的上级部门
 * @returns
 */
const addDepartmentsAPI = (data) => {
  return request({
    url: '/company/department',
    method: 'post',
    data // 前端form表单的参数名, 直接和接口的对应, 这里可以少写很多属性名代码
  })
}
// 编辑部门时的接口
/**
 * 组织架构 - 获取部门详情
 * @description: 获取部门详情
 * @param {*} id 表示当前要编辑项的id值(部门id)
 * @return {*}
 */
const getDepartDetailAPI = (id) => {
  return request({
    url: `/company/department/${id}`
  })
}
//  编辑后更新部门详情
/**
 * 组织架构 - 更新部门详情
  * @description: 更新部门数据
  * @param {*} data: form表单数据 但是要有id, 父级的频道id
  * @return {*}
  */
const updateDepartmentsAPI = (data) => {
  return request({
    url: `/company/department/${data.id}`,
    method: 'put',
    data
  })
}
/**
 * 组织架构 - 删除部门
 * @description: 删除部门 - 注意: 有子部门不能删除
 * @param {*} id 当前点击的操作按钮 所在的项的id(部门id)
 * @return {*}
 */
const delDepartmentAPI = (id) => {
  return request({
    url: `/company/department/${id}`,
    method: 'delete'
  })
}

export {
  departmentsListAPI,
  getEmployeeSimpleAPI,
  addDepartmentsAPI,
  getDepartDetailAPI,
  updateDepartmentsAPI,
  delDepartmentAPI
}
